﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SharedGenomics.Domain
{
    public class AssocQtAnalysisResult : AnalysisResult
    {
        [AnalysisResultColumn("CHR")]
        [ColumnDisplay("Chromosome", Position = -1)]
        public int Chromosome { get; private set; }

        [AnalysisResultColumn("NMISS")]
        [ColumnDisplay("Non-Missing Genotypes", Position = 1)]
        public int NMiss { get; private set; }

        [AnalysisResultColumn("BETA", DefaultOnParseFailed = null)]
        [ColumnDisplay("Regression co-efficient", Position = 2, Format = "F3")]
        public double? Regression { get; private set; }

        [AnalysisResultColumn("SE", DefaultOnParseFailed = null)]
        [ColumnDisplay("Standard Error", Position = 3)]
        public double? StandardError { get; private set; }

        [AnalysisResultColumn("R2", DefaultOnParseFailed = null)]
        [ColumnDisplay("Regression R-squared", Position = 4)]
        public double? RegressionRSquared { get; private set; }

        [AnalysisResultColumn("T", DefaultOnParseFailed = null)]
        [ColumnDisplay("Wald Test T", Position = 5, Format = "F2")]
        public double? T { get; private set; }

        [AnalysisResultColumn(DefaultOnParseFailed = double.NaN)]
        [ColumnDisplay("Wald Test P", Position = 6)]
        public override double P { get; set; }

        [AnalysisResultColumn("BONF", DefaultOnParseFailed = double.NaN)]
        [ColumnDisplay("Bonferroni", Position = 7)]
        public double Bonf { get; set; }

        [AnalysisResultColumn("FDR_BH", DefaultOnParseFailed = double.NaN)]
        [ColumnDisplay("False Disc. Rate", Position = 8)]
        public double BonfFalseDiscoveryRate { get; set; }
    }
}
